From dbc4b6e13a5d0dd8967cde7ff7000ab1ed88625e Mon Sep 17 00:00:00 2001 From: Andrew Cooper Date: Fri, 5 Aug 2016 14:51:13 +0100 Subject: [PATCH] x86/msr: Correct the definition of MSR_IA32_APICBASE_BASE 0xfffff << 12 is undefined behaviour, due to shifting into the sign bit of an integer. Spotted by the Undefined Behaviour Sanitiser Signed-off-by: Andrew Cooper Reviewed-by: Wei Liu --- xen/include/asm-x86/msr-index.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xen/include/asm-x86/msr-index.h b/xen/include/asm-x86/msr-index.h index 4e08de6384..b99c623367 100644 --- a/xen/include/asm-x86/msr-index.h +++ b/xen/include/asm-x86/msr-index.h @@ -305,7 +305,7 @@ #define MSR_IA32_APICBASE_BSP (1<<8) #define MSR_IA32_APICBASE_EXTD (1<<10) #define MSR_IA32_APICBASE_ENABLE (1<<11) -#define MSR_IA32_APICBASE_BASE (0xfffff<<12) +#define MSR_IA32_APICBASE_BASE 0x000ffffffffff000ul #define MSR_IA32_APICBASE_MSR 0x800 #define MSR_IA32_APICTPR_MSR 0x808 #define MSR_IA32_APICPPR_MSR 0x80a -- 2.30.2